1. Technical Field
The present invention relates generally to distributed computer networks and the management of such networks.
2. Description of the Related Art
It is known in the art to deliver digital content (e.g., HTTP content, streaming media and applications) using an Internet content delivery network (CDN). A CDN is a network of geographically distributed content delivery nodes that are arranged for efficient delivery of content on behalf of third party content providers. Typically, a CDN is implemented as a combination of a content delivery infrastructure, a DNS-based request-routing mechanism, and a distribution infrastructure. The content delivery infrastructure usually comprises a set of “surrogate” origin servers that are located at strategic locations (e.g., Internet network access points, Internet Points of Presence, and the like) for delivering content to requesting end users. The request-routing mechanism allocates servers in the content delivery infrastructure to requesting clients in a way that, for web content delivery, minimizes a given client's response time and, for streaming media delivery, provides for the highest quality. The distribution infrastructure typically consists of on-demand or push-based mechanisms that move content provider content from the origin server to the surrogates. An effective CDN serves frequently accessed content from a surrogate that is optimal for a given requesting client. In a typical CDN, a single service provider operates the request-routing mechanism, the surrogates, and the content distributors. In addition, that service provider establishes business relationships with content publishers and acts on behalf of their origin server sites to provide a distributed delivery system.
A content delivery network such as described above may also include a file transport mechanism that is used to accept, store and distribute files across the distributed network. A representative file is a “configuration” file that the service provider desires to deliver to each of the surrogates. That configuration file may include, for example, object-specific metadata that determines how the surrogate should handle a request for an object being served by the CDN from that server. A file transport mechanism of this type typically comprises a set of servers, including at least one control server that acts as an entry point for the mechanism, and one or more staging servers such as HTTP servers running Apache. Using a secure portal, an input file (e.g., a set of customer-specific metadata) is provided to the control server by the CDN service provider or some other permitted entity (e.g., the customer), and that file is then periodically delivered to the staging servers along with other files that have been input to the mechanism. The staging servers then deliver the file to update processes that typically execute on the CDN content servers themselves.
The above-described file transport mechanism generally works well but presents a potential single point of failure if the control server that serves as the entry point fails, or if communications between the control server and the staging servers is disrupted. In particular, in these known schemes, the control server and the set of staging servers represent a “top-down” or hierarchical configuration wherein the file to be transported moves from a single entry point and out to more and more locations. Moreover, such systems are constrained by the requirement that file entry take place in what is essentially a central location, as it is not possible for the service provider or other permitted user to enter files for delivery from multiple locations. This reduces the level of availability of the transport mechanism, especially if the mechanism is distributed across different computer networks.
The present invention addresses these and other associated problems of the prior art.